An Extensible Open-Source Compiler Infrastructure for Testing
نویسندگان
چکیده
Testing forms a critical part of the development process for large-scale software, and there is growing need for automated tools that can read, represent, analyze, and transform the application’s source code to help carry out testing tasks. However, the support required to compile applications written in common general purpose languages is generally inaccessible to the testing research community. In this paper, we report on an extensible, open-source compiler infrastructure called ROSE, which is currently in development at Lawrence Livermore National Laboratory. ROSE specifically targets developers who wish to build sourcebased tools that implement customized analyses and optimizations for large-scale C, C++, and Fortran90 scientific computing applications (on the order of a million lines of code or more). However, much of this infrastructure can also be used to address problems in testing, and ROSE is by design broadly accessible to those without a formal compiler background. This paper details the interactions between testing of applications and the ways in which compiler technology can aid in the understanding of those applications. We emphasize the particular aspects of ROSE, such as support for the general analysis of whole programs, that are particularly well-suited to the testing research community and the scale of the problems that community solves.
منابع مشابه
Towards an Open Timing Analysis Platform
Research on WCET analysis and time-predictable systems faces difficulties when it comes to the evaluation of new ideas. Even conceptually simple improvements need a large and complex infrastructure to validate their usefulness. This infrastructure comprises suitable benchmark suites, program analysis tools, compilers for possibly non-standard instruction set architectures, realistic simulators ...
متن کاملMAO - An extensible micro-architectural optimizer
Performance matters, and so does repeatability and predictability. Today’s processors’ micro-architectures have become so complex as to now contain many undocumented, not understood, and even puzzling performance cliffs. Small changes in the instruction stream, such as the insertion of a single NOP instruction, can lead to significant performance deltas, with the effect of exposing compiler and...
متن کاملCetus - An Extensible Compiler Infrastructure for Source-to-Source Transformation
Cetus is a compiler infrastructure for the source-to-source transformation of programs. We created Cetus out of the need for a compiler research environment that facilitates the development of interprocedural analysis and parallelization techniques for C, C++, and Java programs. We will describe our rationale for creating a new compiler infrastructure and give an overview of the Cetus architect...
متن کاملA Compiler-based Framework for Automatic Extraction of Software Models for Exascale Hardware/Software Co-Design
The utilization of large-scale parallel event simulators such as SST/macro requires that skeleton models of underlying software systems and architectures be created. Implementing such models by abstracting the designs of large-scale parallel applications requires a substantial amount of manual effort and introduces human errors. We outline an approach for automatic extraction of SST/macro skele...
متن کاملShared and Distributed Memory Parallel Security Analysis of Large-Scale Source Code and Binary Applications∗
Many forms of security analysis on large scale applications can be substantially automated but the size and complexity can exceed the time and memory available on conventional desktop computers. Most commercial tools are understandably focused on such conventional desktop resources. This paper presents research work on the parallelization of security analysis of both source code and binaries wi...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
عنوان ژورنال:
دوره شماره
صفحات -
تاریخ انتشار 2005